package com.company.cloud.page.modules.api.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.company.cloud.common.bean.BaseClientResult;
import com.company.cloud.page.modules.api.fallback.PageClientServiceFallbackFactory;
import com.company.cloud.page.modules.api.models.WechatMomentsModel;
import com.company.cloud.page.modules.api.models.WechatMomentsSearch4PageModel;
import com.company.cloud.page.modules.api.models.WechatMomentsSearchModel;
import com.company.cloud.page.modules.api.request.PageUserCardAddByCompanyRequest;
import com.company.cloud.page.modules.api.response.PageCardConfigResponse;
import com.company.cloud.page.modules.api.response.WechatMomentsResponse;
import com.company.common.server.constant.ServiceNameConstant;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;

import java.util.List;
import java.util.Map;
import java.util.Set;


@FeignClient(contextId="page", name = ServiceNameConstant.cms_center, fallbackFactory = PageClientServiceFallbackFactory.class )
public interface PageClientService {


    /**获取动态列表*/
    @RequestMapping(value = "/remote/page/getWechatMomentsModel", method = RequestMethod.POST)
    public BaseClientResult<List<WechatMomentsModel>> getWechatMoments2List(@RequestBody WechatMomentsSearchModel param);
    /**获取动态分页列表*/
    @RequestMapping(value = "/remote/page/getWechatMoments2Page", method = RequestMethod.POST)
    public BaseClientResult<WechatMomentsResponse> getWechatMoments2Page(@RequestBody WechatMomentsSearch4PageModel param);


    /**根据名片编号获取名片配置*/
    @RequestMapping(value = "/remote/page/getPageCardConfig", method = RequestMethod.GET)
    public BaseClientResult<PageCardConfigResponse> getPageCardConfig(@RequestParam("pageNo")  String pageNo);
    /**根据名片编号获取名片配置*/
    @RequestMapping(value = "/remote/page/getPageCardConfigMap", method = RequestMethod.POST)
    public BaseClientResult<Map<String,PageCardConfigResponse>> getPageCardConfigMap(@RequestBody Set<String> pageNo);

    /**根据*/
    @RequestMapping(value = "/remote/page/addUserPageCardByCompany", method = RequestMethod.POST)
    public BaseClientResult<PageCardConfigResponse> addUserPageCardByCompany(@RequestBody PageUserCardAddByCompanyRequest request);




}
